package com.cms.service;

 
import com.cms.exception.SystemDBException;
import com.cms.model.ActivityCommission;
import com.cms.model.TrUser;
import com.cms.model.UserCoinLog;

public interface MemberUserService {

	 /***
	  * 
	  * @param user
	  * @throws Exception
	  */
	 public void setUserOffline()throws Exception;

	
	 /***
	  * 
	  * @param user
	  * @throws Exception
	  */
	 public void changeUserStatus(TrUser user)throws SystemDBException;
	 
	 /***
	  * 添加会员
	  * @param user
	  * @throws SystemDBException
	  */
	 public void registerUser(TrUser user)throws SystemDBException;
	 
	 
	 /***
	  * 编辑会员数据
	  * @param user
	  * @throws SystemDBException
	  */
	 public void updateUserInfo(TrUser user)throws SystemDBException;
	 
	 
	 /***
	  * 
	  * @param user
	  * @throws SystemDBException
	  */
	 public void reCharge(TrUser user,UserCoinLog log)throws SystemDBException;
	 
	 
	 /***
	  * 处理用户提现业务
	  * @param user
	  * @throws SystemDBException
	  */
	 public void handlerUserCash(int status,double coin,TrUser user)throws Exception;
	 
	 /***
	  * 处理用户充值业务
	  * @param user
	  * @throws SystemDBException
	  */
	 public void handlerUserCharge(TrUser user)throws Exception;
	 
	 
	 /***
	  *  根据用户id获取用户会员信息
	  * @param uid
	  * @return
	  * @throws SystemDBException
	  */
	 public TrUser getUserInfoById(int uid)throws Exception;
	 
	 /***
	  *  根据用户id获取用户会员信息
	  * @param uid
	  * @return
	  * @throws SystemDBException
	  */
	 public TrUser getUserInfoByUid(String uid)throws SystemDBException;
	 
	 
	 /***
	  *  根据用户id获取用户会员信息
	  * @param uid
	  * @return
	  * @throws SystemDBException
	  */
	 public TrUser getUserInfoByLoginName(String loginName)throws SystemDBException;
	 
	 /****
	  * 保存客户的活动佣金
	  * @param commission
	  * @throws Exception
	  */
	  public void saveActivityCommission(ActivityCommission commission)throws Exception;
	 
	 
	 /***
	  *  删除用户的活动佣金
	  * @param commission
	  * @throws SystemDBException
	  */
      public void deleteActivityCommission(ActivityCommission commission)throws Exception;
	 
      
 
}
